void inicia_nivel1()
{
   /* inicia mapa */
   nivel1.alpha=255;
   nivel1.load_map("mapas/nivel1/KMnivel1.mapa"); 
   nivel1.scrollcounty=-3622.0; //-(64*63); posicion al iniciar el nivel1.
   //nivel1.scrollcounty=-400.0; //fin del nivel1.
   /* crea medusa */
   crea_medusa();
   /* crea baldosas */
   crea_torres(1);                                                              // crea las torres del nivel 1
   crea_caballos(1);                                                            // create horse tiles.
   crea_reinas(1);                                                              // crea las reinas del nivel1
   crea_kings(1);                                                               // crea los reyes
   /* enemigos */
   crea_clouds();                                                           // crea las nuves de medusa (activas)    
   bosszone=false;
   /* para intro */
   is_game_stop=true; 
   Tstop.set_time(10);                                                            // tiempo que dura la intro
   is_intro=true;       
   popolon.x=300;                                                               // posicion de popolon
   popolon.y=220;                                                               // siempre que se inicie la intro.
   estado = 1;                                                                  // el estado situa al codigo en el nivel 1
   nivel1.ready=true;                                                           // todo 
   teclado.paused=false;                                                        // desbloquea el teclado
   //nivel1.test_tiles=true;
}
void finaliza_nivel1()
{
    /* jefe */
  medhead.termina();
  medbody.termina();
  medhair.termina();
  medmask.termina();
  /* enemigos */
  clouds.termina();
  /* mapa */
  nivel1.ready=false;                                                           // desactiva el mapa
  nivel1.fin();                                                             // elimina el mapa
  /* baldosas */
  torre.termina();                                                                  // tower tile sprite
  horse.termina();
  queen.termina();                                                                  // queen tile sprite
  king.termina();
}
void run_nivel1()
{

/* INTRODUCCION AL NIVEL z=0*/     
     if (is_intro==true)                                                        // muestra el nivel y comienza //
      {
        Tstop.countdown();
        if (Tstop.count==0) 
        { 
            is_game_stop=false; 
            is_intro=false;
            mus.play();                                                         // toca la musica del juego.
        }
        nintendo.escala=0.9;
        if (Tstop.count%2!=0) nintendo.escribe(260,200,"STAGE 1",15);           // Para hacerlo intermintente
        pinta_marcador();
        return; 
      }   
/* PINTA EL MAPA z=1*/
/* recuerda que es la primera capa, si lo mueves sobre escribe sprites */    
     nivel1.pintatiles();                         
/* FINAL DEL NIVEL - ZONA DEL JEFE */
     /* toca la musica del final de fase */
     if (int(nivel1.scrollcounty)==-300)                                             
     {
            mus.stop();                                                         // detiene la musica de fase
            finfase.play();                                                     // toca la musica de fin de fase.
            bosszone=true;                                                      // activa el modo boss zone
     }
     /* estamos en la zona del jefe */
     if (bosszone==true)
     {
        if (int(nivel1.scrollcounty)==0 && medusaestado==0) 
        {
            is_game_stop=true;                                                  // para el nivel.
            medusaestado=1;                                                     // activa a medusa
            Tstop.set_time(360);                                                // Fija el tiempo de vida de medusa en 3minutos
        }
        if (medusaestado<2 && nivel1.evento_pausa==false ) pinta_medusa();      // si medusa esta viva LAPINTA
        if (medusaestado==1 && nivel1.evento_pausa==false ) 
        { 
            pinta_clouds_bosszone();                                                    // si medusa es VULNERABLE, modo 0
            Tstop.countdown();                                                  // actualiza el timer
        }
        if (medusaestado==2)                                                       // si medusa esta muerta 
         {
            teclado.paused=true;
            if (popolon.x<(video.ancho/2)-32)  popolon.x++;
            if (popolon.x>(video.ancho/2)-32)  popolon.x--;
            if (popolon.x==(video.ancho/2)-32)  popolon.y--;
            if (popolon.y<64) 
            {
                finaliza_nivel1();                                              // borra todos los datos del nivel1.
                estado=2;                                                       // fija el estado para el nivel2    
                is_intro=true; 
                return;                                                 // que comienze con la intro
            }        
         }
     }      
/* SE PARA EL DESARROYO DEL JUEGO */
     if (is_game_stop && bosszone==false)                                                          // tile stop active           
      { 
        Tstop.countdown();
        char cadena[14];
        sprintf (cadena,"%d",Tstop.count);
        nintendo.escala=0.9;
        nintendo.usaalpha=false;                                                // set text alpha off
        nintendo.escribe(600,0,cadena,15);
        nintendo.usaalpha=true;
        nintendo.escala=0.6;                                                    // rest text scale.
        if (Tstop.count==0) is_game_stop=false; 
      }
/* SE ACTIVA LA PAUSA */
     if (nivel1.evento_pausa==true)                                                   // if game is paused;
      {
        pinta_poppause();
        nintendo.escala=0.9;
        nintendo.usaalpha=false;                                                // set text alpha off
        nintendo.escribe(250,200,"PAUSED",15);
        nintendo.usaalpha=true;
        nintendo.escala=0.6;
        pinta_marcador();
        return; 
       }                                      
     else
       { 
        if (mus.paused==true) mus.play();
       // if (finfase.stopped==true) finfase.play();    algo falla aqui
       }

     if (is_game_stop==false) nivel1.autoscroll(scroll_speed,1,1); // velocidad, direccion , orientacion 0=hor, 1=vert
/* PINTA LOS DIFERENTES SPRITES */
     pinta_ras();
     /* pinta baldosas */
     pinta_torre(nivel1.scrollcounty);  
     pinta_horses(nivel1.scrollcounty);
     pinta_reinas(nivel1.scrollcounty);
     pinta_kings(nivel1.scrollcounty);
     /* pinta Weapon option */
     pinta_optionw(nivel1.scrollcounty);
     /* PINTA OPTION */
     pinta_option(nivel1.scrollcounty);
     /* shield paint */ 
     if (shield.visible==true) pinta_shield();                                         // paint only if sprite is visible. 
     /* maneja el sprite de popolon */
     pinta_popolon(nivel1.scrollcounty); 
     /* flechas */
     if (arma==0 || arma==1) arrows_move(nivel1.scrollcounty);
     /* fballs */
     if (arma==2 || arma==3) fballs_move(nivel1.scrollcounty);
     /* boomerang */
     if (arma==4 || arma==5) boomer_move(nivel1.scrollcounty);
     /* swords */
     if (arma==6 || arma==7) sword_move(nivel1.scrollcounty);
     /* flechas de fuego*/
     if (arma==8 || arma==9) farrows_move(nivel1.scrollcounty);
     /* bubles */
     pinta_bubles(nivel1.scrollcounty,lv1_bublespos,26);
     /* guerreros */ 
     pinta_knight(nivel1.scrollcounty,lv1_knightpos,18);
     /* murcielagos */
     pinta_bats     (nivel1.scrollcounty,lv1_batpos,4);
     pinta_bats_spl (nivel1.scrollcounty,lv1_batpos_spl,2);
     pinta_bats_spr (nivel1.scrollcounty,lv1_batpos_spr,2);
     pinta_bats_zz  (nivel1.scrollcounty,lv1_batpos_zz,6);
     /* disparos de los enemigos */
     pinta_shot(4);
     // flechas enemigas.
     pinta_sarrow(4);
     /* marcador */
     pinta_marcador();
}
